package com.example.apidocserver.infrastructure.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Objects;

/**
 * 日期工具对象
 *
 * @author xyqlg
 */
public class MyDateUtils {
    public static final String DT_DEFAULT = "yyyy-MM-dd hh:mm:ss.SSS";

    public static final String SHOW_TYPE = "yyyy-MM-dd hh:mm:ss";
    public static final String DT_FILE_NAME = "yyyyMMddhhmmssSSS";

    /**
     * 返回当前时间字符串
     *
     * @param type 类型
     * @return 时间字符串
     */
    public static String getNowString(String type) {
        Date date = new Date();
        return toStr(date, type);
    }

    /**
     * 返回当前时间字符串
     *
     * @param dateIn 时间
     * @param type   类型
     * @return 时间字符串
     */
    public static String toStr(Date dateIn, String type) {
        SimpleDateFormat sdf = new SimpleDateFormat(type);
        return sdf.format(dateIn);
    }

    /**
     * 返回当前时间字符串
     *
     * @return 时间字符串
     */
    public static String getNowString() {
        return getNowString(DT_DEFAULT);
    }

    /**
     * 返回当前时间字符串
     *
     * @return 时间字符串
     */
    public static String toShowDataStr(Date dateIn) {
        if (Objects.isNull(dateIn)) {
            return "null";
        }
        return toStr(dateIn, SHOW_TYPE);
    }
}
